package com.ccjq.shosestore.order.service;



import com.ccjq.shosestore.order.bo.OrderBo;

import java.sql.SQLException;
import java.util.List;

/**
 * @author LCY
 * @create 2018-12-05 21:49
 */
public interface OrderService {

    /**
     * 根据用户id，查询订单概略信息,需求分页
     * 仅展示OrderBo模型中的orderId（订单编号）、createTime（生成时间）、amount（总金额）三条属性
     *
     * @param userId 用户唯一标识
     * @param currentRow 当前行
     * @return List<OrderBo> 订单模型的集合
     */
    List<OrderBo> queryOrdersByUserId(String userId, int currentRow);

    /**
     * 根据订单编号，查询指定订单详细信息
     * 商品详细信息使用List<ShopInfoBo> shopInfo进行管理
     * ShopInfoBo存储信息结构：商品编号、商品描述、数量、价格、小计
     * 总金额为表的amount字段
     *
     * @param orderId 订单编号
     * @return OrderBo 包含订单详细信息的数据模型
     */
    OrderBo queryOrdersByOrderId(String orderId);

    /**
     * 向数据库插入订单，OrdersModel数据模型承载订单元素
     * 订单添加成功，返回订单概略列表
     * @param orderBo 包含订单信息的数据模型
     * @return true时，前台页面携带用户ID参数，执行重定向queryOrdersByUserId 方法，刷新用户订单，并到前台进行展示
     *          false时，事务回滚
     */
    List<OrderBo> saveOrder(OrderBo orderBo) throws SQLException;
    
}
